/**
 * 时间格式化工具函数
 */

// 格式化时间显示
function formatTime(timeStr) {
  if (!timeStr) return '未知时间';
  
  try {
    const date = new Date(timeStr);
    const now = new Date();
    const diff = Math.floor((now - date) / 1000); // 差异秒数
    
    // 时间差小于60秒
    if (diff < 60) {
      return '刚刚';
    }
    
    // 时间差小于1小时
    if (diff < 3600) {
      return Math.floor(diff / 60) + '分钟前';
    }
    
    // 时间差小于24小时
    if (diff < 86400) {
      return Math.floor(diff / 3600) + '小时前';
    }
    
    // 时间差小于30天
    if (diff < 2592000) {
      return Math.floor(diff / 86400) + '天前';
    }
    
    // 今年内
    const thisYear = now.getFullYear();
    const timeYear = date.getFullYear();
    if (thisYear === timeYear) {
      return `${date.getMonth() + 1}月${date.getDate()}日 ${padZero(date.getHours())}:${padZero(date.getMinutes())}`;
    }
    
    // 更早时间显示年月日
    return `${timeYear}年${date.getMonth() + 1}月${date.getDate()}日`;
  } catch (e) {
    console.error('时间格式化错误:', e);
    return timeStr; // 出错时返回原始字符串
  }
}

// 补零
function padZero(num) {
  return num < 10 ? '0' + num : num;
}

module.exports = {
  formatTime
}; 